package edu.hhu.chart.service;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import edu.hhu.chart.dao.ChartDao;
import edu.hhu.chart.domain.EchartShow;

public class ChartDataService {

	/**获得生成普通折线图的数据
	 * 
	 * @param fields			要显示的参数字段列表，其个数即要生成的图的个数
	 * @param legend			代表要显示对象的ID列表，例如单井数据则代表单井的ID，井组数据则代码井组的ID
	 * @param parameters		其他字符型参数
	 * @return
	 */
	public String getChartJson(List<String> fields, List<String> legend, Map<String,String> parameters) {

		ChartDao chartdao = new ChartDao();
		
		String level = parameters.get("level");//层级，代表是单井数据，井组数据，区间数据还是总油田数据
		String chartType = parameters.get("chartType");//图类型：单Y轴折线、双Y轴折线、饼图、柱图
		String chartStyle = parameters.get("chartStyle");//图风格：叠合图
		String normalType = parameters.get("normalType");//规划类型：0表示无归一，1表示生成时间归一，2表示产量归一，3表示全归一
		
		List<EchartShow> echartShows = new ArrayList<EchartShow>();

		
		
		
		if(normalType.equals("0")){//无归一情况
			
			if (chartType.equals("line")) {

				echartShows = chartdao.getLineChartData(fields, legend, level, chartStyle);

			} else if (chartType.equals("doubleLine")) {

				echartShows = chartdao.getDoubleLineChartData(fields);

			} else if (chartType.equals("pie")) {

				echartShows = chartdao.getPieChartData();

			} else if (chartType.equals("bar")) {

				echartShows = chartdao.getBarChartData();

			}
			
		}else {//有归一情况
			
			if (chartType.equals("line")) {

				echartShows = chartdao.getLineChartData(fields, legend, level, chartStyle, normalType);

			}
		}
		
		return JSON.toJSONString(echartShows);
		
	}

}
